﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using CLEX.Service.DataContracts;

namespace CLEX.Client.Metro
{
    public interface INavigator
    {
        void GoToLogin();
        void GoToHome(UserData user);
        void GoToLattice(UserData user, DatabaseData database, TableData table);
        void ShowLogout();
        void ShowDatabaseNew(UserData user);
        void ShowDatabaseDelete(DatabaseData database);
        void ShowDatabaseEdit(DatabaseData database);
        void ShowTableList(UserData user, DatabaseData database);
        void ShowChangePassword(UserData user);
        void ShowUnexpectedError(string errorMessage, string details);

        void ShowLatticeEdit(TableData table, LatticeState state);
        void ShowHistogramDelete(LatticeState state, AggregateData aggregate);
        void ShowHistogramNew(TableData table, LatticeState state);
    }
}
